منابع مشابه
Call-by-name, Call-by-value, Call-by-need and the Linear lambda Calculus
To appear in Theoretical Computer Science, special issue on papers presented at MFPS’95. J. Maraist a, M. Odersky a, D.N. Turner b and P. Wadler c a School of Computer and Information Science, University of South Australia, Warrendi Road, The Levels, South Australia 5095, Australia. Email, fmaraist,[email protected]. b An Teallach Limited, Technology Transfer Centre, Kings Buildings, Ma...
متن کاملCall - by - name , call - by - value , call - by - need , and the linear
Girard described two translations of intuitionistic logic into linear logic, one where A ! B maps to (!A) ? B, and another where it maps to !(A ? B). We detail the action of these translations on terms, and show that the rst corresponds to a call-by-name calculus, while the second corresponds to call-by-value. We further show that if the target of the translation is taken to be an aane calculus...
متن کاملCall-by-value isn’t dual to call-by-name, call-by-name is dual to call-by-value!
Gentzen’s sequent calculus for classical logic shows great symmetry: for example, the rule introducing ∧ on the left of a sequent is mirror symmetric to the introduction rule for the dual operator ∨ on the right of a sequent. A consequence of this casual observation is that when Γ ` ∆ is a theorem over operators {∨,∧,¬}, then so is ∆ ` Γ, where Σ reverses the order of formulas in Σ, and exchang...
متن کاملCall-by-Value Is Dual to Call-by-Name - Reloaded
We consider the relation of the dual calculus of Wadler (2003) to the λμ-calculus of Parigot (1992). We give translations from the λμ-calculus into the dual calculus and back again. The translations form an equational correspondence as defined by Sabry and Felleisen (1993). In particular, translating from λμ to dual and then ‘reloading’ from dual back into λμ yields a term equal to the original...
متن کاملCall-by-push-value: Decomposing call-by-value and call-by-name
We present the call-by-push-value (CBPV) calculus, which decomposes the typed call-by-value (CBV) and typed call-by-name (CBN) paradigms into fine-grain primitives. On the operational side, we give big-step semantics and a stack machine for CBPV, which leads to a straightforward push/pop reading of CBPV programs. On the denotational side, we model CBPV using cpos and, more generally, using alge...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on Programming Languages
سال: 2019
ISSN: 2475-1421
DOI: 10.1145/3341718